<?php
header ('Content-Type: text/html; charset=utf-8;');

include ('markhtml.php');

$text = '# MarkHtml

Убирает следующее:

* тег `<script></script>`
* атрибуты, содержащие `"script:"`
* атрибуты, чьё имя начинается `on`
* атрибут `style`, содержащий открывающую скобку `"("`
* атрибут `style`, содержащий `position:` или `margin`
* атрибут `src`, содержащий `"mhtml:"`

<http://code.google.com/p/markhtml/>

## Пример кода

<script>alert("XSS")</script>

Запрещенные теги выводятся как текст.

## Пример ссылок

http://code.google.com/p/markhtml/

<http://code.google.com/p/markhtml/>

<a href="/?param1&param2">"Link 1"</a> - <a href="/?param1&amp;param2">"Link 2"</a>

## Пример `<code>`

    Здесь не работает "типографика", а код выводится как есть: &amp; или & или < или &lt;

Здесь же код выводится как и обычно: &amp; или & или < или &lt;

~~~
<script>alert("XSS")</script>
~~~

---
всё, экспериментируйте, если найдете ошибку, сообщите мне о ней на <ibnteo@gmail.com>
';

if (isset($_POST['text'])) {
    $text = $_POST['text'];
}

?><!DOCTYPE html>
<html>
<head>
<meta encoding="UTF-8">
<title>MarkHtml</title>
</head>
<body style="padding: 10px 10px 40px 10px;">
<form action="" method="post">
<div>Markdown/HTML текст:</div>
<textarea name="text" style="width: 99%;" rows="15"><?php echo htmlspecialchars($text); ?></textarea>
<div style="float: right; margin-right: 20px;"><a href="http://code.google.com/p/markhtml/">http://code.google.com/p/markhtml/</a></div>
<div><input type="submit" name="code" value="HTML код"> <input type="submit" value="Вид">
<span style="margin-left: 3em;"><input type="checkbox" id="xhtml" name="xhtml"<?php if (isset($_POST['xhtml'])) echo ' checked'; ?>><label for="xhtml"> XHTML</label>
</div>
</form>
<hr>
<?php
if (isset($_POST['code'])) {
    echo '<pre>'.htmlspecialchars(markhtml($text, isset($_POST['xhtml']))).'</pre>';
} else {
    echo markhtml($text, isset($_POST['xhtml']));
}
?>
</body>
</html>